Non-volatile memories are widely used for storing data in computing devices, and typically include a memory array with a large number of memory cells arranged in rows and columns. Each of the memory cells includes a non-volatile charge-trapping transistor that is programmed or erased by biasing a voltage of the proper polarity, magnitude, and duration between its control gate and its substrate. A positive gate-to-substrate voltage causes electrons to tunnel from the channel in the substrate to a charge-trapping dielectric layer raising a threshold voltage (VT) of the transistor, and a negative gate-to-channel voltage causes holes to tunnel from the channel to the charge-trapping dielectric layer lowering the threshold voltage.
Non-volatile memories suffer from program disturbs, which is an unintended and detrimental change in the net charge amount in a memory cell that increases its VT. A program disturb typically occurs when, during a memory operation to program a selected memory cell, an unselected memory cell, which shares the same gate or drain or source voltage as the selected cell, is programmed unintentionally. With manufacturing technology rapidly advancing to smaller geometry nodes (e.g., 40 nm and 28 nm nodes, etc.) it is increasingly difficult to avoid program disturbs. Further, since the magnitude of a program disturb increases at higher operating temperatures, the problem caused by program disturbs becomes worse as the density of non-volatile memories increases.